Broadcast roaming refers to the ability of a user to receive broadcast services from a Mobile Broadcast Service Provider different from the Home Mobile Broadcast Service Provider with which the user has a contractual relationship.
The current state of the art—OMA BCAST TS Services and OMA BCAST TS Service Guide—defines a method to signal existence of service providers, such as BCAST Subscription Managers (BSMs), which may be responsible for service provisioning such as subscription and payment related functions, the provision of information used for BCAST Service reception, and BCAST device management. The signaling may involve methods of signaling through Service Guide Announcement Sessions and Service Guide Delivery Descriptors (SGDDs) within.
However, the current state of the art specification does not disclose solutions to the following problems:                1) How does a terminal know when it is roaming?        2) Which BSM can a terminal roam to (i.e. which BSM can a terminal select so that the BSM will serve the terminal)?        3) If multiple BSMs are available to serve the terminal, which BSM is the best to use?        
For example, see OMA BCAST 1.0 TS Services [Mobile Broadcast Services; Draft Version 1.0 (19 Apr. 2006); OMA-TS-BCAST_Services-V1—0-20060419-D] and OMA BCAST 1.0 TS Service Guide [Service Guide for Mobile Broadcast Services; Draft Version 1.0 (24 Mar. 2006); OMA-TS-BCAST_ServiceGuide-V1—0—0-20060324-D]. The following table contains a partial list and description of elements defined by Amendments to the OMA BCAST 1.0 Service Guide, and specifically, the Service Guide Delivery Descriptor.
NameTypeCategoryCardinalityDescriptionData Type. . .BSMSelectorE3NO/0 . . . NThis is a BSM code thatTMallows a terminal todetermine whether theSGDU's in this SGDDDescriptorEntry - amongthe SGDU's that areannounced in variousDescriptor Entries invarious SGDD's - isassociated with theterminal's affiliated BSM.In case the terminal isequipped with one or moreBSMFilterCodes, theBSMSelector acts as anaccess filter for theSGDU's of theDescriptorEntry and thefollowing applies:Usage in homenetwork:The terminalSHALL only usethose SGDU's inthe DescriptorEntrythat have amatchingBSMFilterCode.If the terminal hasmultiple matchingBSMFilterCodes,the terminal MAYselect one of theBSMSelectors witha matchingBSMFilterCode andSHALL then onlyuse the SGDU's ofDescriptorEntrieswith the selectedBSMSelector, untilit selects anotherBSMSelector.If the BSMSelectoris not present theterminal SHALLNOT use any of theSGDU's in theDescriptorEntry.Usage in roamingnetwork:If the terminal has amatchingBSMFilterCode inany of the SGDD'sin this network, thenthe terminal SHALLonly use thoseSGDU's in theDescriptorEntry.If the terminal hasmultiple matchingBSMFilterCodes,the terminal MAYselect one of theBSMSelectors witha matchingBSMFilterCode andSHALL then onlyuse the SGDU's ofDescriptorEntrieswith the selectedBSMSelector, untilit selects anotherBSMSelector.If the terminal orsmartcard does nothave a matchingBSMFilterCode inany of the SGDD'sin this network, theterminal MAYselect anyBSMSelector andSHALL only usethe SGDU's ofDescriptorEntrieswith the selectedBSMSelector, untilit selects anotherBSMSelector.If the BSMSelectoris not present, theterminal can use allSGDU's in theDescriptorEntry.In case the terminal is notequipped with aBSMFilterCode, thefollowing applies:Usage in homenetwork:The terminal MAYselect anyBSMSelector thatdoes not contain aBSMFilterCode,and SHALL thenonly use theSGDU's ofDescriptorEntrieswith the selectedBSMSelector, untilit selects anotherBSMSelector.Furthermore, theterminal SHALLNOT use theSGDU's ofDescriptorEntriesthat have aBSMSelector with aBSMFilterCode.If the BSMSelectoris not present in anyof the SGDD's theterminal can use allSGDU's in theDescriptorEntry.Usage in roamingnetwork:The terminal MAYselect anyBSMSelector andSHALL then onlyuse the SGDU's ofDescriptorEntrieswith the selectedBSMSelector, untilit selects anotherBSMSelector.If the BSMSelectoris not present in anyof the SGDD's theterminal can use allSGDU's in theDescriptorEntry.BSMSelector contains thefollowing attribute:idBSMSelector contains thefollowing elements:BSMFilterCodenameidANM/TM1Identifier of theAnyURIBSMSelector, uniquewithin the networkBSMFilterCodeE4NO/TM0 . . . 1The code that specifies thisStringBSMSelector.Contains the followingattribute:typetypeANM/1The type ofunsignedByteTMBSMFilterCode.1 - BSMCode (Smart CardCode)This is used if thedetermination is madebased on the country andoperator code in the(U)SIM/(R-)UIM/CSIM2 - BSMCode (Non SmartCard Code):This is used if thedetermination is madebased on the country andoperator code in theterminalOther values are reserved.nameE4NM/TM1 . . . NProvides a user readableStringname for the BSMSelector,possibly in multiplelanguages.The language is expressedusing built-in XMLattribute xml:lang with thiselement . . .This attribute can be usedto provide information tothe user so he can select theBSMSelector the terminalhas to use.